package SparkSQL

import org.apache.spark.sql.SparkSession

/**
 * UDF就是用户自定义的函数
 * 可以对每一行某一列的数据进行处理，是还能的扩展
 * UDF返回是一对一：输出多少返回多少
 */
object UDF {
  def main(args: Array[String]): Unit = {
    val spark = SparkSession.builder()
      .master("local[*]")
      .appName("UTF")
      .getOrCreate()
    val df = spark.read
      .json("data/user.json")
    df.createOrReplaceTempView("user")

    //注册udf
    spark.udf.register("prefixName", (name: String) => {
      "Name:" + name
    })

    spark.sql("select age,prefixName(username) from user").show()

    spark.close()
  }
}
